home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2000 #4
/
Amiga Plus CD - 2000 - No. 4.iso
/
Tools
/
Treiber
/
Misc
/
Mroocheck
/
FreeWheel
/
Source
/
WheelMouse.h
< prev
next >
Wrap
C/C++ Source or Header
|
2000-04-20
|
2KB
|
69 lines
#include <intuition/intuition.h>
#include <devices/inputevent.h>
extern char *WindowModeNames[];
extern char *ClickModeNames[];
extern char *ClickRollModeNames[];
extern char *DoubleClickModeNames[];
enum WindowModes {OverWindow,ActiveWindow};
enum ClickModes {ClickIgnore,ClickShift,ClickShiftClick,
ClickToggleLMB,ClickMoveToScroll,
ClickMoveScrollToggle,ClickCycleScreens};
enum ClickRollModes {ClickRollIgnore,ClickRollDepthArrange,ClickRollHorizontalScroll};
enum DoubleClickModes {DClickIgnore,DClickCycleScreens,DClickSwapAxis};
struct ButtonData
{
enum ClickModes ClickMode;
enum ClickRollModes ClickRollMode;
enum DoubleClickModes DoubleClickMode;
char **ClickModeNames;
char **ClickRollModeNames;
char **DoubleClickModeNames;
BOOL State;
long Count,Secs,Microsecs; /* Used for double-click detection */
BOOL LMBToggle,ScrollToggle,AxisToggle;
};
struct WheelMouseContext
{
void (*Dispose)(struct WheelMouseContext *wm);
BOOL (*Handle)(struct WheelMouseContext *wm,unsigned long signals);
int ScrollX,ScrollY;
int FakeX,FakeY;
enum WindowModes WindowMode;
char **WindowModeNames;
struct ButtonData MidButton,FourthButton;
int MouseSpeedX,MouseSpeedY;
int ScrollSpeedX,ScrollSpeedY;
int FakeScrollSpeed;
BOOL ClickToFront,ClickToBack;
BOOL NudgeProp,ForgeRawKey,RawKeyPage;
int PageThreshold;
struct Task *MainTask;
unsigned long Signals;
int SigBit;
struct MsgPort *ReplyPort,*IOPort;
struct IOStdReq *IOReq;
struct Window *Window;
struct Gadget *Gadget;
struct ExtIntuiMessage Msg1;
unsigned long pad11,pad12,pad13,pad14; /* struct might be extended further! */
struct ExtIntuiMessage Msg2;
unsigned long pad21,pad22,pad23,pad24;
struct InputEvent Event;
};
struct WheelMouseContext *WheelMouse_Create();